372ccc46617abf81b6d79a3c5eb616d9c8c7d8df,plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/UninitializedReadCollector.java,UninitializedReadCollector,referenceExpressionAssignsVariable,#PsiReferenceExpression#PsiVariable#number#Set#,473

Before Change


            }
        }
        return referenceExpression.isQualified() &&
                expressionAssignsVariable(qualifierExpression, variable,
                        stamp, checkedMethods);
    }

    private void checkReferenceExpression(

After Change


            int stamp, @NotNull Set<MethodSignature> checkedMethods) {
        final PsiExpression qualifierExpression =
                referenceExpression.getQualifierExpression();
        if (expressionAssignsVariable(qualifierExpression, variable,
                        stamp, checkedMethods)) {
            return true;
        }
        if(variable.equals(referenceExpression.resolve())){
            final PsiElement parent = referenceExpression.getParent();
            if(parent instanceof PsiAssignmentExpression){
                final PsiAssignmentExpression assignmentExpression =
                        (PsiAssignmentExpression)parent;
                final PsiExpression rhs =
                        assignmentExpression.getRExpression();
                if (rhs != null && rhs.equals(referenceExpression)) {
                    checkReferenceExpression(referenceExpression, variable,
                            qualifierExpression);
                }
            } else {
                checkReferenceExpression(referenceExpression, variable,
                        qualifierExpression);
            }
        }
        return false;
    }

    private void checkReferenceExpression(